require(["config"], function() {
	require(["jquery", "template","cookie","load"], function($,template) {
        function List(){
			
			this.loadListProducts()
			this.addListener();
			// 配置 cookie 自动在JS值与JSON值之间转换
			$.cookie.json = true;
		}
		$.extend(List.prototype,{
			// 加载渲染列表商品
			loadListProducts(){
				$.getJSON("http://rap2api.taobao.org/app/mock/120615/api/list",(data)=>{
					// console.log(data)
					const html = template("list-template",{products:data.res_body.list})
					// console.log(html)
					$(".goods").prepend(html);
				})

				// var htmlstring = template("id","data")
			},
			// 添加事件监听
			addListener(){
				$(".wrap").on("click",".btn_goods", this.addToCartHandler);
				$.ajax({
					type: "GET",
					url: "/html/cart.html",
					dataType: "json",
					data : "{id={{id}}}",
					success: function(){
					  location("/html/cart.html");
					}
				 });
			},
			// 添加到购物车处理
			addToCartHandler(event){
				console.log(event.target)
				// 获取当前选购的商品对象
				const $parent = $(event.target).parents('.list_wrap')
				const currentProduct = {
					id:$parent.find(".id").text(),
					img:$parent.find("img").attr("src"),
					size:$parent.find(".goods_size").text(),
					title:$parent.find(".goods_introduce").text(),
					price:$parent.find("#new").text(),
					amount:1
				}
				console.log(currentProduct)
				// 获取在 cookie 中已保存的购物车数组
				const cart = $.cookie("cart") || [];
				// 判断在 cart 数组中是否存在当前选购的商品对象
				const has = cart.some(curr=>{
					if (curr.id == currentProduct.id) { // 已有选购
						curr.amount++; // 增加数量
						return true;
					}
					return false;
				});
				// 如果未选购过
				if (!has)
					cart.push(currentProduct);
				// 将购物车的数组保存到 cookie 中
				$.cookie("cart", cart, {expires: 10, path: "/"});

			},
			
			
		});
		
		
		new List();
	});

});
